package com.qianniu.napi.admin.entity;

import com.baomidou.mybatisplus.enums.IdType;
import java.math.BigDecimal;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableName;
import java.io.Serializable;

/**
 * <p>
 * 交易流水表
 * </p>
 *
 * @author chenxuebin
 * @since 2018-07-07
 */
@TableName("t_account_flow")
public class AccountFlow extends Model<AccountFlow> {

    private static final long serialVersionUID = 1L;

	@TableId(value="id", type= IdType.AUTO)
	private Long id;
    /**
     * 流水号
     */
	private String sn;
	private Long uid;
	private Long mid;
	private Long mpid;
	private Long modifier;

    /**
     * 金额
     */
	private BigDecimal amount;
	private BigDecimal dikou;
	private BigDecimal discount;
	private BigDecimal realpay;
	private BigDecimal total;
	private BigDecimal lasttotal;

    /**
     * 1：已入账；0：待入账
     */
	@TableField("is_confirm")
	private Integer isConfirm;
	/**
	 * 返佣入账类型@1：支付成功后；2：确认收货|扫码核销后；3：发货15天后到账
	 */
	@TableField("fantime_type")
	private Integer fantimeType;

    /**
     * 待入账日期
     */
	@TableField("confirm_date")
	private Date confirmDate;

    /**
	 * 进账类型@1：入账，充值，赚佣金；-1：出帐，消费，提醒
     */
	private Integer iotype;

    /**
     * 消费类型@1：充值；2：提现；3：赚佣金；4：消费；5：赠送金额；6：扣款；
     */
	private Integer xftype;
	private Integer state;

    /**
     * 摘要
     */
	private String remark;
	private String origin;
	private String transactionid;

    /**
     * 交易时间
     */
	private Date tradetime;

	private String nickname;

	private String headimg;

	private String phone;

	private Date createtime;
	private Date modifytime;

	public Long getMpid() {
		return mpid;
	}

	public void setMpid(Long mpid) {
		this.mpid = mpid;
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getSn() {
		return sn;
	}

	public void setSn(String sn) {
		this.sn = sn;
	}

	public Long getUid() {
		return uid;
	}

	public void setUid(Long uid) {
		this.uid = uid;
	}

	public Long getMid() {
		return mid;
	}

	public void setMid(Long mid) {
		this.mid = mid;
	}

	public BigDecimal getAmount() {
		return amount;
	}

	public void setAmount(BigDecimal amount) {
		this.amount = amount;
	}

	public BigDecimal getDikou() {
		return dikou;
	}

	public void setDikou(BigDecimal dikou) {
		this.dikou = dikou;
	}

	public BigDecimal getRealpay() {
		return realpay;
	}

	public void setRealpay(BigDecimal realpay) {
		this.realpay = realpay;
	}

	public Integer getIsConfirm() {
		return isConfirm;
	}

	public void setIsConfirm(Integer isConfirm) {
		this.isConfirm = isConfirm;
	}

	public Date getConfirmDate() {
		return confirmDate;
	}

	public void setConfirmDate(Date confirmDate) {
		this.confirmDate = confirmDate;
	}

	public Integer getState() {
		return state;
	}

	public void setState(Integer state) {
		this.state = state;
	}

	public Integer getIotype() {
		return iotype;
	}

	public void setIotype(Integer iotype) {
		this.iotype = iotype;
	}

	public Integer getXftype() {
		return xftype;
	}

	public void setXftype(Integer xftype) {
		this.xftype = xftype;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public Date getTradetime() {
		return tradetime;
	}

	public void setTradetime(Date tradetime) {
		this.tradetime = tradetime;
	}

	public String getOrigin() {
		return origin;
	}

	public void setOrigin(String origin) {
		this.origin = origin;
	}

	public Date getCreatetime() {
		return createtime;
	}

	public void setCreatetime(Date createtime) {
		this.createtime = createtime;
	}

	public Date getModifytime() {
		return modifytime;
	}

	public void setModifytime(Date modifytime) {
		this.modifytime = modifytime;
	}

	public Long getModifier() {
		return modifier;
	}

	public void setModifier(Long modifier) {
		this.modifier = modifier;
	}

	public BigDecimal getTotal() {
		return total;
	}

	public void setTotal(BigDecimal total) {
		this.total = total;
	}

	public String getTransactionid() {
		return transactionid;
	}

	public void setTransactionid(String transactionid) {
		this.transactionid = transactionid;
	}

	@Override
	protected Serializable pkVal() {
		return this.id;
	}

	public String getNickname() {
		return nickname;
	}

	public void setNickname(String nickname) {
		this.nickname = nickname;
	}

	public String getHeadimg() {
		return headimg;
	}

	public void setHeadimg(String headimg) {
		this.headimg = headimg;
	}

	public String getPhone() {
		return phone;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}

	public Integer getFantimeType() {
		return fantimeType;
	}

	public void setFantimeType(Integer fantimeType) {
		this.fantimeType = fantimeType;
	}

	public BigDecimal getLasttotal() {
		return lasttotal;
	}

	public void setLasttotal(BigDecimal lasttotal) {
		this.lasttotal = lasttotal;
	}

	public BigDecimal getDiscount() {
		return discount;
	}

	public void setDiscount(BigDecimal discount) {
		this.discount = discount;
	}

	@Override
	public String toString() {
		return "AccountFlow{" +
			"id=" + id +
			", sn=" + sn +
			", uid=" + uid +
			", amount=" + amount +
			", confirmDate=" + confirmDate +
			", iotype=" + iotype +
			", xftype=" + xftype +
			", remark=" + remark +
			", tradetime=" + tradetime +
			", createtime=" + createtime +
			", modifytime=" + modifytime +
			"}";
	}
}
